#ifndef MYLIB_H
#define MYLIB_H

#include "thi_sinh.h"
#include <fstream>
#include <string>
#include <cstring>
#include <cstdlib>
#include <iomanip>

typedef thi_sinh* Ds_Ts;

using namespace std;

void menu();
void input( Ds_Ts head); // nhap du lieu vao danh sach bat dau tu head
bool check_cau_truc_mats ( string&); // tra ve true neu ma hop le
bool check_mats ( const string& , Ds_Ts head ); 
// tra ve true neu ma thi sinh da ton tai
void bo_cach_thua ( string& );
// loai bo dau cach thua o dau, cuoi va giua cac tu
void chuan_hoa ( string& );
string get_ten ( const string& ); // Tra ve ten TS
string get_ho (const string& ); // Tra ve ho va dem thi sinh
void swap ( Ds_Ts, Ds_Ts);// doi cho 2 con tro
void sort_name ( Ds_Ts head); // Sap xep danh sach bat dau tu head
void sort_mark ( Ds_Ts head);
void input_from_file ( Ds_Ts head); // nhap du lieu tu file TS.txt vao danh sach bat dau tu head
bool kt_do ( const Ds_Ts& );
void print_do ( Ds_Ts head);// In danh sach do bat dau tu head
void print_CLC ( Ds_Ts head); // In danh sach lop CLC bat dau tu head
void bo_xung_TA ( Ds_Ts head); // Bo xung diem tieng anh vao danh sach bat dau tu head
void input_ngoai_ngu ( Ds_Ts head); // Bo xung diem tieng anh tu file TS_DiemNgoaiNgu.inp
void phuc_khao ( const string &maTS, Ds_Ts head ); 
// thuc hien phuc khao thi sinh co ma thi sinh la maTS trong danh sach bat dau tu head
bool phan_cach ( const char& );

#endif